
#include "VCPlugInHeaders.h"

#include "ITrackerRegister.h"
#include "ITrackerFactory.h"
#include "ISession.h"
#include "Barcode4inID.h"
#include "LayoutUIID.h"

#include "CPMUnknown.h"

/** This ITrackerRegister implementation registers the barcode4in plug-in's trackers
	with the application. 
	@ingroup barcode4in
*/

class Barcode4inTrackerRegister : public CPMUnknown<ITrackerRegister>
{
public:
	/** Constructor */
	Barcode4inTrackerRegister(IPMUnknown* boss);

	/**Register the trackers with the application tracker factory. */
	void Register(ITrackerFactory* factory);
	
};

/*
 CREATE_PMINTERFACE
 This macro creates a class factory for the given class name
 and registers the ID with the host.
*/
CREATE_PMINTERFACE(Barcode4inTrackerRegister, kBarcode4inTrackerRegisterImpl)

Barcode4inTrackerRegister::Barcode4inTrackerRegister(IPMUnknown* boss) :
	CPMUnknown<ITrackerRegister>(boss)
{
}

/* Register
*/
void Barcode4inTrackerRegister::Register(ITrackerFactory* factory)
{
	factory->InstallTracker(kLayoutWidgetBoss, kBarcode4inToolBoss, kBarcode4inTrackerBoss);
}
